home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / hardware / a2091hack / vb2091.doc < prev    next >
Encoding:
Text File  |  1995-03-09  |  5.4 KB  |  148 lines

  1.  
  2. vb2091 (c) in 1994 by Volker Barthelmann
  3.  
  4. INTRODUCTION
  5.  
  6.     ZorroII boards can only reach the lower 16MB of address space. So DMA
  7.     SCSI controllers must find another way to transfer data to expansion
  8.     RAM. Some of them (especially the A2091) do a very bad job in this
  9.     situation. In an A4000/40 transfer rates may drop to 50KB/s.
  10.     This program patches the (2nd.)scsi.device to use MEMF_24BITDMA
  11.     RAM as a buffer followed (in case of CMD_READ) by CopyMem().
  12.     It was developed with the A4000/A2091 combinbation in mind, but
  13.     should work with other configurations, too (see REQUIREMENTS).
  14.  
  15. FEATURES
  16.  
  17.     There are already some PD utilities floating around that do a similar
  18.     job. So why may this one be better?
  19.  
  20.     - It patches the device instead of the Read() & Write() DOS-functions,
  21.       giving the following advantages:
  22.  
  23.       o Programs accessing the device directly (e.g. SysInfo, SCSI-Speed
  24.         or tape-handlers) are patched, too.
  25.       o Patching Read() doesn't seem to have any influence on LoadSeg(), so
  26.         those patches don't speedup loading of programs whereas vb2091 does.
  27.       o It is possible to use double-buffering and load into one buffer
  28.         while copying the contents of the other one to fastram. This makes
  29.         higher transfer rates possible. I wasn't able to get more than
  30.         800KB/s with DOS-level-patches, but could get over 1MB/s with
  31.         vb2091.
  32.  
  33.     - Some early A4000s (including mine :-( ) can't do DMA to onboard ram.
  34.       On such A4000s every transfer to/from chipmem will cause the
  35.       computer to hang. vb2091 can be told to redirect those transfers too.
  36.  
  37. WARNING
  38.  
  39.     FIRST: READ THIS ENTIRE FILE BEFORE TRYING OUT vb2091 !!
  40.     (This is meant seriously - I know this is a very bad written manual,
  41.     but it mentions some very important points.)
  42.  
  43.     This program is still beta and I can't give any warranty about anything.
  44.     I have tested it for some time and have not encountered serious
  45.     problems, but had no opportunity to test vb2091 on other configs,
  46.     so there may still be many bugs.
  47.     It seems to work fine with my system (A4000/40, broken DMA, A2091/7.0
  48.     ROMs, Quantum LPS270S, Tandberg streamer) in conjunction with MapBoard,
  49.     however there may be problems with the serial port (I am working on it).
  50.  
  51. REQUIREMENTS
  52.  
  53.     vb2091 has been compiled with gcc, so it needs ixemul.library in libs:
  54.     and ENV: assigned. Keep this in mind when placing it in Your startup-
  55.     sequence.
  56.  
  57.     As it uses the exec-functions CopyMem()/CacheControl(), it doesn't work
  58.     with early versions of Kickstart (sorry, I don't know since when these
  59.     functions are present - probably since 2.0).
  60.     vb2091 does not check for a correct version at the moment (sorry).
  61.  
  62.     You must have some MEMF_24BITDMA RAM (e.g. RAM on the controller or
  63.     chipmem) to be used as a buffer.
  64.  
  65.     I hope I haven't forgotten anything (of course a controller and some
  66.     expansion RAM would be quite useful).
  67.  
  68.  
  69. USAGE
  70.  
  71.     [run] vb2091 [DEVICE <device>] [BUFSIZE <bufsize>] [UNIT <unit>]
  72.                  [BROKEN] [SINGLE] [NOCACHE] [NOWRITE]
  73.  
  74.     All the keywords must be uppercase! (sorry)
  75.  
  76.     DEVICE  Name of the device to be patched.
  77.             (default: 2nd.scsi.device)
  78.  
  79.     BUFSIZE Size of buffer in bytes.
  80.             This MUST be a multiple of 1024! vb2091 doesn't check this
  81.             in the current version (sorry again).
  82.             (default: 262144)
  83.  
  84.     UNIT    Unitnumber of a connected device; this is only used to open
  85.             the scsi.device, all other units are patched, too.
  86.             (default: 0)
  87.  
  88.     BROKEN  Use this if You have got an A4000 that cannot DMA the chipmem.
  89.             You MUST have some 24Bit fastmem (e.g. on the controller)
  90.             then - vb2091 will only accept MEMF_FAST|MEMF_24BITDMA RAM
  91.             as buffer then.
  92.  
  93.     SINGLE  Normally vb2091 uses double-buffering to get slightly higher
  94.             transfer rates; use SINGLE, if free processor time is more
  95.             important to You. Currently only CMD_READ is double-buffered,
  96.             CMD_WRITE is not.
  97.  
  98.     NOWRITE If You specify this option, only CMD_READ ist patched, whereas
  99.             CMD_WRITE will be unchanged. Use this if You don't trust
  100.             vb2091.
  101.  
  102.     NOCACHE If this option is specified, the DataCache will be disabled
  103.             before CopyMem() and enabled after finishing; this will speedup
  104.             CopyMem() (at least on a 040). This has not been tested very
  105.             well, so be careful with this option.
  106.  
  107.  
  108.     Example:
  109.         run >NIL: vb2091 DEVICE scsi.device BUFSIZE 131072 UNIT 6
  110.  
  111.  
  112.     You can remove the patch by sending vb2091 a CTRL-C/break - but don't
  113.     do this while any program is using the device.
  114.  
  115. CREDITS
  116.  
  117.     This program would not exist without the help of Olaf Seibert (another
  118.     poor fellow with a broken A4000) who encouraged me to write it and
  119.     provided me with helpful information. Thank You, Olaf!
  120.  
  121. LEGAL
  122.  
  123.     vb2091 may be freely distributed as long as no part of the distribution
  124.     is changed.
  125.  
  126.     This program is Bearware: If You like it, You can send me something
  127.                               with a bear on it.
  128.  
  129.     But more important:
  130.  
  131.         If You try it, please send me Your experiences, bugreports,
  132.         suggestions etc.
  133.  
  134.  
  135.  
  136.  
  137. Volker Barthelmann
  138. Kennedy-Ring 39
  139. 91301 Forchheim
  140. Germany
  141.  
  142. I should be reachable per eMail via (try both addresses):
  143.  
  144. barthelm@mi.uni-erlangen.de     and/or
  145. vrbarthe@lsd.nbg.sub.org
  146.  
  147.  
  148.